The present invention relates generally to software development, and in particular, to a method and apparatus for dynamically displaying, at runtime, the composition of application data contained in certain data structures (e.g., structures, tables, fields, or objects of object oriented programming).
Complex software systems (e.g., an SAP R/3 system) tend to evolve over time as software developers develop new applications and add new features to existing applications. Although attempts are generally made to reuse software code modules and associated data structures (e.g., objects, methods, functions, sub-routines, data structures, tables, fields and so on), there is often a certain amount of overlap and redundancy that occurs. This of course leads to a large collection of software code modules and data structures that are available and in use at any given time. Consequently, with complex software systems, the significant number of software code modules and data structures makes it virtually impossible for a software application developer to maintain a working knowledge of the details of the entire collection of available and in-use software code modules and data structures. Furthermore, due to various software code dependencies, it is often the case that the proper operation of one application may be dependent upon one or more code modules and/or data structures for which a software developer knows very little about. Despite being unfamiliar with one or more particular data structures, for the sake of rapid application development, software developers frequently utilize the unfamiliar data structures.
For a variety of reasons, a software developer may desire to have an application display the composition and data contents of a particular data structure in a tabular format to a user. For example, if the data structure is storing relevant application data, it may be desirable to display the application data in a tabular format. It is also possible that a software developer may desire to display the composition and data contents of a particular data structure—particularly a data structure that is unfamiliar to the developer—for the purpose of debugging an application.
In general, in order to have an application display the composition and data contents of a data structure, the software developer must hard code the required instructions or commands into the application code of the application that is to display the elements of the particular data structure. For instance, a software developer may add instructions or commands that specifically analyze the particular data structure in question, and then display the contents of the particular data structure. This hard-coding approach requires that the software developer have an understanding of the particular data structure, including its location (e.g., within the code) and its structural makeup. Furthermore, analyzing several different data structures requires customized software code to be added for each data structure to be analyzed and displayed. For instance, to display the particular data elements of a table (e.g., field names and values), the necessary instructions or commands must be tailored to that particular table. A second, different set of instructions or commands would be required to display the data elements of an interface, complex structure, or some other type of data structure. Consequently, the programming resources involved in hard-coding the necessary commands or instructions to display the composition of several data structures makes this hard-coding approach very time consuming and therefore undesirable.
Thus, there is a need for an improved way to dynamically display, at runtime, the composition of a data structure. The present invention solves these and other problems by providing a method and apparatus for dynamically displaying the composition of a data structure during runtime.